let config = {
  baseUrl: 'http://api.jbwxts.com', // 请求的本域名
  method: 'POST',
  // 设置为json，返回后会对数据进行一次JSON.parse()
  dataType: 'json',
  showLoading: false, // 是否显示请求中的loading
  loadingText: '加载中...', // 请求loading中的文字提示
  loadingTime: 800, // 在此时间内，请求还没回来的话，就显示加载中动画，单位ms
  originalData: false, // 是否在拦截器中返回服务端的原始数据
  loadingMask: true, // 展示loading的时候，是否给一个透明的蒙层，防止触摸穿透
  // 配置请求头信息
  header: {
    // 'content-type': 'application/json;charset=UTF-8' // 在 IOS 12 及以下的版本，请求失败，无返回响应
  }
}

const install = (Vue, vm) => {
  vm.$u.http.setConfig(config)

  // 请求拦截器
  vm.$u.http.interceptor.request = (config) => {
    // 设置 token
    // config.header.Token = vm.$store.state.token

    // 是否显示请求加载框
    vm.$u.http.config.showLoading &&
      uni.showLoading({
        title: vm.$u.http.config.loadingText,
        mask: vm.$u.http.config.loadingMask,
        duration: vm.$u.http.config.loadingTime
      })

    return config
  }

  // 响应拦截器
  vm.$u.http.interceptor.response = (response) => {
    // 如果不需要返回内容，请 return false
    // todo: 这里可以处理请求的结果

    return response
  }
}

export default {
  install
}
